package server;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.HashMap;

public class LoginImpl implements Login {
	private HashMap<String,String> users;
	
	static Remote remote;
	static Registry registry;
	private int port = 1097;

	public LoginImpl() throws Exception {
		users = new HashMap<String,String>();
		users.put("corne","test");
		users.put("leon","test");
		if(registry == null) {
			registry = LocateRegistry.createRegistry(1099);
		}
	}

	public boolean check(String username, String password) {
		return users.get(username).equals(password);
	}

	/**
	 * Checkt de gebruikersnaam en wachtwoord en geeft een loginObject terug als
	 * deze niet kloppen.
	 */
	public Cijferlijst login(String username, String password) throws RemoteException {
		if(check(username, password)) {
			if(remote == null) {
				CijferlijstImpl cijfer = new CijferlijstImpl();
				remote = UnicastRemoteObject.exportObject(cijfer, port);
				return (Cijferlijst) remote;
			} else {
				return (Cijferlijst) remote;
			}
		} else	{
			return null;
		}
	}
}
